# test_case_welbex
___
Установка:
```bash
git clone https://github.com/jugern/test_case_welbex
cd test_case_welbex
```
Запускаем docker-compose
```dockerfile
docker-compose up -d --build
```
Прежде чем система загрузится, может пройти до 10 минут.
Это нужно для подгрузки данных для postgresql.
Проверить прогрузку данных можно командой:
```bash
curl http://127.0.0.1:8000/lenloc/ | grep -oE '[0-9]+'
```
Примерный ответ, после загрузки данных
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                            Dload  Upload   Total   Spent    Left  Speed
 100     5  100     5    0     0     39      0 --:--:-- --:--:-- --:--:--    39
> 33788

Число 33788 в конце, означает что программа закончила выгрузку данных.

Данные по грузам не загружал.

В данный момент возможно получить данные как 
по вэб-брайзер, так и через api запросы.
Стандартный адрес для подключения:
```http request
http://127.0.0.1:8000
```
___
# Методы API
```djangourlpath
http://127.0.0.1:8000/api/v1/cars/
> Принимает запросы: Get, Post

http://127.0.0.1:8000/api/v1/cars/<int:pk>/
> Принимает запросы: Get, Patch

http://127.0.0.1:8000/api/v1/cargos/
> Принимает запросы: Get, Post

http://127.0.0.1:8000/api/v1/cargos/<int:pk>/
> Принимает запросы: Get, Patch, Delete

http://127.0.0.1:8000/api/v1/locations/
> Принимает запросы: Get, Post
```
---

для http://127.0.0.1:8000/api/v1/cargos/
есть возможность задавать фильтрацию.
Фильтр по весу:
```python
cargo_weight__gte >= больше равно
cargo_weight__gt  >  больше
cargo_weight__lte <= меньше равно
cargo_weight__lt  <  меньше
```
Для фильтрации расстояния:
```
milles - это числовое значение, возвращает count_car на груз.
```
Например:
>http://127.0.0.1:8000/api/v1/cargos/?milles=1500&cargo_weight__gte=100&cargo_weight__lte=300
